O Número Pi


Uma exploração do famoso número de lenda e saber

[Direções : Execute primeiramente a seção Code Resource. Embora não haja output imediato, essas definições serão usadas posteriormente nessa worksheet.]

  0. Código

>    restart; with(plots):

Warning, the name changecoords has been redefined

>    scan   := 'scaling = constrained, axes = none':

>    r10    := proc()  2*(evalf(rand()/10^11)-5);      end proc:
rr     := proc()  2+ 4*(evalf(rand()/10^12));     end proc:
shade  := proc()  local s;
                  s := evalf(rand()/10^12,2)/4 + .3;
                  COLOR(RGB, s,s,.9);
          end proc:

>    CP := (h,k,r) -> plottools[circle]([h,k], r, thickness = 2, color = shade()):

  1. O Número Pi


Como quadrados, mas triângulos diferentes, todos os círculos são similares aos outros. Cada círculo é apenas uma versão menor ou maiorde todos os outros círculos.

>    display( seq(   CP( r10(), r10(), rr() ), k = 1..10), scan);

[Maple Plot]

>    display( seq(   CP( r10(), r10(), rr() ), k = 1..10), scan);

[Maple Plot]

>    display( seq(   CP( r10(), r10(), rr() ), k = 1..10), scan);

[Maple Plot]



O raio da circunferência para o diâmetro é o mesmo para todos esses círculos. Aquele raio é
Pi . Suponha que nós medíssemos vários objetos - ambos ao redor e de lado a lado, e pegássemos seus raios.... esse é um bom projeto ... latas de lixo, latas de soda, lâmpadas, anfiteatros....qualquer coisa redonda poderia ser medida. As unidades não importariam se elas fossem as mesmas para ambas as medidas.

Aqui estão algumas amostras.

>    C := 8; d := 5/2; C/d : % = evalf(%, 5);

C := 8

d := 5/2

16/5 = 3.2000

>    C := 17; d := 16/3; C/d : % = evalf(%, 5);

C := 17

d := 16/3

51/16 = 3.1875

>    C := 69;  d := 22; C/d : % = evalf(%, 5);

C := 69

d := 22

69/22 = 3.1364

>    C := 300; d := 95; C/d : % = evalf(%, 5);

C := 300

d := 95

60/19 = 3.1579

>    C := 472; d := 150; C/d : % = evalf(%, 5);

C := 472

d := 150

236/75 = 3.1467



 

  2. Expansão Decimal de Pi


Existem lendas que dizem que um matemático dedicou toda a sua vida calculando os dígitos de
Pi . É um conto interessante. Nos anos 60, durante a era das regras, um estudante, professor, ou engenheiro poderia usar frequentemente 3.14 como uma aproximação para Pi . Embora computadores existissem e muitos dígitos já fossem conhecidos nessa época, eles não eram acessíveis a uma grande quantidade de pessoas. No meio dos anos 70, as calculadoras se tornaram disponíveis por vários dólares que poderiam calcular   Pi  em dez posições decimais. Mesmo hoje, a maioria das calculadoras sãolimitadas a 15 ou 16 posições decimais.

>    Pi = evalf(Pi, 16);

Pi = 3.141592653589793


No final do século 16,
Pi  foi conhecido em 30 posições decimais. No final do século 18, ele foi conhecido em 140 posições. E no final do século 19, ele foi conhecido em 500 posições precisas.

>    Pi = evalf(Pi, 30);

Pi = 3.14159265358979323846264338328

>    Pi = evalf(Pi, 140);

Pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317
Pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317

>    Pi = evalf(Pi, 500);

Pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493...
Pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493...
Pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493...
Pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493...
Pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493...
Pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493...



Mesmo com o advento dos computadores pessoais no início dos anos 80 era tão automático que poderíamos calcular
Pi  em várias posições decimais - porque o computador armazena os dados em bytes. Uma fração 32 byte tem essa resolucção de mais ou menos 10 posições decimais.

>    1/2^32; evalf(%);

1/4294967296

.2328306437e-9



Hoje, com o Maple, você pode ver o que não se pensava a algumas décadas atrás. O Maple inclui algumas programações que transcendem os limites de armazenameno em bytes para calcular um número quase ilimitado de posições decimais. Simplesmente escolha quantas posições decimais de ¹ você qier, e como se ele fosse um gênio, isso se tornará realidade . 100 posições decimais, 1,000 posições, 2,500 posições.


Seção Opcional (Utiliza Pré-Cálculo)

Se nós considerarmos as posições decimais conhecidas de  
Pi  como uma medida de tecnologia avançada, parece ter crescido exponencialmente. Vamos ver dois pontos : (ano 1600, 30 posições) e (ano 1800, 140 posições) para extrapolar uma função.

>    C := 'C': t := 't':  k := 'k':
f := t-> C*exp(k*t);
EQ1 :=      f(1600) = 30;
EQ2 :=      f(1800) = 140;
solve(EQ1, C) = solve(EQ2, C);

f := proc (t) options operator, arrow; C*exp(k*t) end proc

EQ1 := C*exp(1600*k) = 30

EQ2 := C*exp(1800*k) = 140

30/exp(1600*k) = 140/exp(1800*k)

>    k := solve(%,k);
EQ1;
C := solve(%,C);

k := -1/200*ln(3/14)

1475789056/6561*C = 30

C := 98415/737894528


Aqui está a função que deve fornecer o número de posições decimais de
Pi  baseada no ano.  

>    f(t);
simplify(f(t),exp);

98415/737894528*exp(-1/200*ln(3/14)*t)

98415/737894528*(3/14)^(-1/200*t)


De acordo com essa fórmula, vamos ver quantas posições decimais deveriam existir nos anos 2000 e ano 0.

>    floor(evalf( f(2000) ));

653

>    floor(evalf( f(0) ));

0

Parece que os antigos estavam à frente da tabela! Ou os anos escuros nos colocam atrás na tabela.

>    floor(evalf( f(1200) ));

1


 

  3. A História de Pi


O número
Pi , ou alguma variação dele, existe por no mínimo vários milênios. Quem sabe se o inventor da roda pensava sobre o raio da distância que a roda viajaria  comparad com a largura da roda - a qual é Pi . No entanto, o valor verdadeiro de Pi  não chega a ser conhecido imediatemante.

     Pi  = 3?

O número Pi  tem um significado especial na matemática e na história. Vários ancestrais tais como os Babilônios usaram o valor de 3 para Pi .
How accurate is this approximation?

>    3/Pi; % = evalf(%,10);

3/Pi

3/Pi = .9549296583


Está 95% preciso. Se um velho arquiteto de um coliseu circular acreditou que o raio fosse 300 pés, de quantos pés de cerca ele iria precisar?

>    2*300*3;
2*300*Pi;
difference = evalf( % - %%);

1800

600*Pi

difference = 84.955592


Simplesmente por caus ada imprecisão desse ou daquele "
Pi ", o arquiteto poderia precisar de 85 pés de cerca adicionais. Ele deveria ter ficado maravilhado.


     Pi  = 3 1/7?

Um "novo e melhorado"
Pi , foi encontrado pelos ancestrais Egípcios. Eles usaram o valor de 3 1/7, o qual é 22/7.
  

>    EPi := 22/7;

EPi := 22/7

>    EPi/Pi;   % = evalf(%,10);

22/7/Pi

22/7/Pi = 1.000402499



Essa aproximação é melhor. É apenas  4/100 de um percento! Se o arquiteto usou esse valor em seu coliseu, o quanto ele estaria distante?

>    2*300*EPi;
2*300*Pi;
difference = evalf( % - %%);

13200/7

600*Pi

difference = -.758694


Mais ou menos  3/4 de um pé. Isso não é tão ruim. E se ele quisesse calcular a distância que a terra viaja, usando o fato de que o sol viaja em uma órbita circular sobre o sol (atualmente eliptica) e o raio é 10,000 milhas.

>    2*10000*EPi;
2*10000*Pi;
difference = evalf( % - %%);

440000/7

20000*Pi

difference = -25.28978


 

    Pi  = 3 17/120?

Um Romano usou um valor melhor, 3 17/120, o qual é 377/120.
  

>    RPi := 3 + 17/120;

RPi := 377/120

>    RPi/Pi;   % = evalf(%,10);

377/120/Pi

377/120/Pi = 1.000023559



Essa aproximação é melhor. É apenas 1/425 de 1 percento! E se o arquiteto usasse esse valor no seu coliseu, o quanto ele estaria distante?

>    2*300*RPi;
2*300*Pi;
difference = evalf( % - %%);

1885

600*Pi

difference = -.44408e-1


Mais ou menos 1/20 de um pé. E se ele quisesse calcular a distância que a terra viaja, usando o fato de que o sol viaja em uma órbita circular sobre o sol (atualmente eliptica) e o raio é 10,000 milhas.

>    2*10000*RPi;
2*10000*Pi;
difference = evalf( % - %%);

188500/3

20000*Pi

difference = -1.48025


 

    Pi  = sqrt(98694)/100?

Os Hindus usaram essa aproximação.
  

>    HPi := sqrt(98694)/100;

HPi := 3/100*10966^(1/2)

>    HPi/Pi;   % = evalf(%,10);
100*(1-evalf(HPi/Pi,10));

3/100*10966^(1/2)/Pi

3/100*10966^(1/2)/Pi = .9999896445

.103555e-2



Essa aproximação difere mais ou menos 1/1000 de 1 percento! E se o arquiteto usasse esse valor no seu coliseu, o quanto ele estaria distante?

>    2*300*HPi;
2*300*Pi;
difference = evalf( % - %%);

18*10966^(1/2)

600*Pi

difference = .19519e-1


Mais ou menos 1/5 de um pé. E se ele quisesse calcular a distância que a terra viaja, usando o fato de que o sol viaja em uma órbita circular sobre o sol (atualmente eliptica) e o raio é 10,000 milhas.

>    2*10000*HPi;
2*10000*Pi;
difference = evalf( % - %%);

600*10966^(1/2)

20000*Pi

difference = .65066


 

  4. Outra Aproximação Fracional de Pi


Existem mais aproximações fracionais de  
Pi . Vamos ver uma série de frações precisas.

>    FracApprox := 22/7;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 22/7

x := 3.142857143

`Percentage Error` = .4024994348e-1

>    FracApprox := 333/106;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 333/106

x := 3.141509434

`Percentage Error` = .2648963017e-2

>    FracApprox := 355/113;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 355/113

x := 3.141592920

`Percentage Error` = .8491367866e-5

>    FracApprox := 103993/33102;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 103993/33102

x := 3.141592653

`Percentage Error` = .1839483021e-7

>    FracApprox := 104348/33215;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 104348/33215

x := 3.141592654

`Percentage Error` = .1055604093e-7

>    FracApprox := 208341/66317;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 208341/66317

x := 3.141592653

`Percentage Error` = .3894729407e-8

>    FracApprox := 312689/99532;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 312689/99532

x := 3.141592654

`Percentage Error` = .9276627542e-9

>    FracApprox := 833719/265381;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 833719/265381

x := 3.141592654

`Percentage Error` = .2774219391e-9

>    FracApprox := 1146408/364913;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 1146408/364913

x := 3.141592654

`Percentage Error` = .5127144724e-10

>    FracApprox := 4272943/1360120;
x := evalf( %);
`Percentage Error` = 100* abs( evalf( (Pi-evalf(FracApprox))/Pi, 50) );

FracApprox := 4272943/1360120

x := 3.141592654

`Percentage Error` = .1286184950e-10

>   

>   


Assim, usando frações "modestas", nós podemos obter algumas muito precisas!